Awesome FastAPI |
      
    
    
      A curated list of awesome things related to FastAPI.
    
    
      FastAPI is a modern,
      high-performance, batteries-included Python web framework that’s perfect
      for building RESTful APIs.
    
    Contents
    
    Third-Party Extensions
    Admin
    
      - 
        FastAPI Admin
        - Functional admin panel that provides a user interface for performing
        CRUD operations on your data.
      
 
    
    Auth
    
    Databases
    ORMs
    
      - 
        FastAPI SQLAlchemy
        - Simple integration between FastAPI and
        SQLAlchemy.
      
 
      - 
        FastAPIwee - A
        simple way to create REST API based on
        PeeWee models.
      
 
      - 
        GINO - A lightweight
        asynchronous ORM built on top of SQLAlchemy core for Python asyncio.
        
      
 
      - ORM - An async ORM.
 
      - 
        ormar - Ormar is an
        async ORM that uses Pydantic validation and can be used directly in
        FastAPI requests and responses so you are left with only one set of
        models to maintain. Alembic migrations included.
        
      
 
      - 
        Piccolo - An async
        ORM and query builder, supporting Postgres and SQLite, with batteries
        (migrations, security, etc).
        
      
 
      - 
        Tortoise ORM
        - An easy-to-use asyncio ORM (Object Relational Mapper) inspired by
        Django.
        
      
 
      - 
        SQLModel - SQLModel (which
        is powered by Pydantic and SQLAlchemy) is a library for interacting with
        SQL databases from Python code, with Python objects.
      
 
    
    Query Builders
    
    ODMs
    
      - 
        Beanie -
        Asynchronous Python ODM for MongoDB, based on
        Motor and
        Pydantic, which
        supports data and schema migrations out of the box.
      
 
      - 
        MongoEngine - A Document-Object
        Mapper (think ORM, but for document databases) for working with MongoDB
        from Python.
      
 
      - 
        Motor - Asynchronous Python
        driver for MongoDB.
      
 
      - 
        ODMantic - AsyncIO
        MongoDB ODM integrated with
        Pydantic.
      
 
    
    
    
    
    
    Email
    
      - 
        FastAPI Mail -
        Lightweight mail system for sending emails and attachments (individual
        and bulk).
      
 
    
    Utils
    
      - 
        FastAPI Cache
        - A simple lightweight cache system.
      
 
      - 
        FastAPI Chameleon
        - Adds integration of the Chameleon template language to FastAPI.
      
 
      - 
        FastAPI Contrib
        - Opinionated set of utilities: pagination, auth middleware,
        permissions, custom exception handlers, MongoDB support, and Opentracing
        middleware.
      
 
      - 
        FastAPI CRUDRouter
        - A FastAPI router that automatically creates and documents CRUD routes
        for your models.
      
 
      - 
        FastAPI Jinja
        - Adds integration of the Jinja template language to FastAPI.
      
 
      - 
        FastAPI Limiter
        - A request rate limiter for FastAPI.
      
 
      - 
        FastAPI MQTT - An
        extension for the MQTT protocol.
      
 
      - 
        FastAPI Pagination
        - Pagination for FastAPI.
      
 
      - 
        FastAPI Plugins
        - Redis and Scheduler plugins.
      
 
      - 
        FastAPI ServiceUtils
        - Generator for creating API services.
      
 
      - 
        FastAPI SocketIO
        - Easy integration for FastAPI and SocketIO.
      
 
      - 
        FastAPI Utilities
        - Reusable utilities: class-based views, response inferring router,
        periodic tasks, timing middleware, SQLAlchemy session, OpenAPI spec
        simplification.
      
 
      - 
        FastAPI Websocket Pub/Sub
        - The classic pub/sub pattern made easily accessible and scalable over
        the web and across your cloud in realtime.
      
 
      - 
        FastAPI Websocket RPC
        - RPC (bidirectional JSON RPC) over Websockets made easy, robust, and
        production ready.
      
 
      - 
        OpenTelemetry FastAPI Instrumentation
        - Library provides automatic and manual instrumentation of FastAPI web
        frameworks, instrumenting http requests served by applications utilizing
        the framework.
      
 
      - 
        Prerender Python Starlette
        - Starlette middleware for Prerender.
      
 
      - 
        Prometheus FastAPI Instrumentator
        - A configurable and modular Prometheus Instrumentator for your FastAPI
        application.
      
 
      - 
        SlowApi - Rate limiter
        (based on
        Flask-Limiter).
      
 
      - 
        Starlette Context
        - Allows you to store and access the request data anywhere in your
        project, useful for logging.
      
 
      - 
        Starlette Exporter
        - One more prometheus integration for FastAPI and Starlette.
      
 
      - 
        Starlette OpenTracing
        - Opentracing support for Starlette and FastAPI.
      
 
      - 
        Starlette Prometheus
        - Prometheus integration for FastAPI and Starlette.
      
 
    
    Resources
    Official Resources
    
      - 
        Documentation -
        Comprehensive documentation.
      
 
      - 
        Tutorial - Official
        tutorial showing you how to use FastAPI with most of its features, step
        by step.
      
 
      - 
        Source Code - Hosted
        on GitHub.
      
 
      - 
        Gitter Chat - Chat with
        other FastAPI users.
      
 
    
    External Resources
    
      - 
        TestDriven.io FastAPI
        - Multiple FastAPI-specific articles that focus on developing and
        testing production-ready RESTful APIs, serving up machine learning
        models, and more.
      
 
    
    Podcasts
    
    Articles
    
    Tutorials
    
    Talks
    
    Videos
    
    Courses
    
    Hosting
    PaaS
    (Platforms-as-a-Service)
    
    IaaS
    (Infrastructure-as-a-Service)
    
    Serverless
    Frameworks:
    
    Compute:
    
    Projects
    Boilerplate
    
      - 
        Full Stack FastAPI and PostgreSQL - Base Project Generator
        - Full stack, modern web application generator, which includes FastAPI,
        PostgreSQL, Docker, Celery, Vue frontend, automatic HTTPS and more
        (developed by the creator of FastAPI,
        Sebastián Ramírez).
      
 
      - 
        FastAPI and Tortoise ORM
        - Powerful but simple template for web APIs w/ FastAPI (as web
        framework) and Tortoise-ORM (for working via database without headache).
      
 
      - 
        FastAPI Model Server Skeleton
        - Skeleton app to serve machine learning models production-ready.
      
 
      - 
        cookiecutter-spacy-fastapi
        - Quick deployments of spaCy models with FastAPI.
      
 
      - 
        cookiecutter-fastapi
        - Cookiecutter template for FastAPI projects using: Machine Learning,
        Poetry, Azure Pipelines and pytest.
      
 
      - 
        openapi-python-client
        - Generate modern FastAPI Python clients (via FastAPI) from OpenAPI.
      
 
      - 
        Pywork -
        Yeoman generator to scaffold a FastAPI
        app.
      
 
      - 
        uvicorn-gunicorn-fastapi-docker
        - Docker image with Uvicorn managed by Gunicorn for high-performance
        FastAPI web applications in Python 3.7 and 3.6 with performance
        auto-tuning.
      
 
      - 
        fastapi-gino-arq-uvicorn
        - Tempate for a high-performance async REST API, in Python. FastAPI +
        GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).
      
 
      - 
        FastAPI and React Template
        - Full stack cookiecutter boilerplate using FastAPI, TypeScript, Docker,
        PostgreSQL, and React.
      
 
      - 
        FastAPI Nano -
        Simple FastAPI template with factory pattern architecture.
      
 
      - 
        inboard - Docker
        images to power your FastAPI apps and help you ship faster.
      
 
    
    Open Source Projects
    
    
    Please support this open source project by checking out our sponsors: